1. Field of the Invention
This invention relates to computer systems and, more particularly, to backup and restoration of data within computer systems.
2. Description of the Related Art
Many business organizations and governmental entities rely upon applications that access large amounts of data, often exceeding many terabytes of data, for mission-critical applications. Numerous different types of storage devices, potentially from multiple storage vendors, with varying functionality, performance and availability characteristics, may be employed in such environments.
Any one of a variety of failures, such as system crashes, hardware storage device failures, software defects, and user errors such as inadvertent deletions of files, may potentially lead to data corruption or to a loss of critical data in such environments. In order to recover from such failures, various kinds of backup techniques may be employed. Traditionally, for example, backup images of critical data may have been created periodically (e.g., once a day) and stored on tape devices. However, a single backup version of production data may not be sufficient to meet the availability requirements of modern mission-critical applications. For example, for disaster recovery, it may be advisable to back up the data of a production application at a remote site, but in order to be able to quickly restore the data in the event of a system crash or other error unrelated to a large-scale disaster, it may be advisable to store a backup version near the production system. In addition, in many environments, users may wish to restore a storage object to its state as of a particular point in time (e.g., the version of a file that was modified yesterday may need to be restored). As a consequence, in some storage environments, multiple stages of backup devices may be employed, and multiple versions of storage objects as of different points of time may be stored at the various backup stages. For example, a first backup version of a collection of production files may be maintained at a secondary host, and additional backup versions (such as snapshots) may be created periodically at tertiary storage from the secondary host. A given storage object may be restored from any one of the multiple backup versions. For example, if a user inadvertently overwrites a particular document, and snapshots of the document are created once every day and retained for a week, it may be possible to retrieve a version of the document corresponding to any day of the previous week.
Traditionally, the ability to initiate restore operations has often been restricted to backup administrators or other backup experts who are familiar with details of backup storage organization, and end users have usually not been allowed to restore storage objects. Requiring administrators to support restore operations needed as a result of common errors (such as inadvertent deletions of user files) may lead to unnecessary delays and reduced productivity, especially where restorations may at least in principle be initiated by end users—e.g., where at least some backups are made to disk-based storage devices that do not require operators to load tapes for restore operations. However, end users may typically be unaware of, and uninterested in, the details of backup environments such as the physical locations where various versions of a file are stored. Instead, end users may be more familiar with the actions that they may have performed on the storage objects—e.g., a particular user may be aware that he or she updated a document related to a specific project yesterday. Techniques and interfaces that efficiently allow end users to select restorable versions of storage objects using concepts and categories that are meaningful and familiar to end users, without requiring the end users to understand details of backup implementations, may help reduce administrative costs and improve overall organizational efficiency.